In the context of many known operating systems, it is possible to integrate different devices, such as hardware components, with the operating system through device drivers. Device drivers are low-level software programs that translate abstract device commands, as specified in the operating system's device interface, into actual commands issued to the hardware device.
One problem commonly encountered is that device drivers must be updated in order to eliminate bugs, to improve the performance of the integrated device or to enhance the functionality of the device. The updating of device drivers is typically accomplished by obtaining a new device driver from the device manufacturer, e.g., on a storage device such as a diskette or CD-ROM or via the downloading of one or more device driver files from the manufacturer's web site.
In the realm of software, as well, certain arrangements for updating are known. Examples include Intuit's “TURBO TAX”, where the software periodically queries the user whether to check the Intuit web page for updated versions of the software and/or newer versions of the tax forms. With Norton's “ANTIVIRUS”, the software periodically checks whether updated virus signature files are available on the company web site. With the IBM “GLOBAL NETWORK DIALER”, when there is a connection to the internet, the software determines whether a newer version of the software and/or a newer version of the phone number list is available and asks the user whether to update.
None of the software programs just described, however, implement the concept of storing the necessary software components within a physical device itself Furthermore, all of the programs in question rely on proprietary solutions to implement the function of automatic updates, instead of using a common protocol to test and update existing versions of the software.
To a degree, dynamic reconfiguration is available today (e.g., plug ‘n’ play of PC-cards) and will likely become more widespread over the next few years. However, when integrating new devices into a computer system one or more of the following problems often occurs:
operating system does not know the type of device and does not have the proper device driver file or files.
Although the operating system knows about the device, the device driver is not available on the system and must be loaded from the operating system's install medium (e.g., tape, diskette, CD-ROM)
The operating system knows the device but a back-level (old) version of the device driver is available within the system.
In view of the foregoing, a need has been recognized in connection with providing arrangements and methods for more efficiently configuring a computer system with new hardware components.